<?php
/**
 * Controller de planos.
 *
 * @author    Fernanda Rebelatto <fernanda.rebelatto@gmail.com>
 * @copyright Copyright (c) 2012
 * @version   0.1
 */

class PlanoController extends AppController
{
    /**
     * Método executado antes de qualquer action
     * @access public
     */
    public function beforeFilter()
    {
       
    }

    /**
     * Controller index
     * @access public
     */
    public function index()
    {
        $this->layout = "default.admin";
        $this->bCampoBusca = true;
        $sCriterio = "";
        // Filtro por busca
        if( trim( $this->param('search') ) != '' )
        {
            $sCriterio .= "(plan_nome LIKE '%".$this->param('search')."%') OR ";
            $sCriterio .= "(plan_descricao LIKE '%".$this->param('search')."%')";
        }
        $arrPlano = $this->Plano->buscarPlanos($sCriterio);

        foreach ($arrPlano as $k => $oPlano) 
        {
            $objPlano = $this->Cliente->all(array(
					'conditions' => array('plan_id' => $oPlano['plan_id'])
            ));
            if( count($objPlano) == 0 )
            {
                $oPlano['podeDeletar'] = true;
            }
            else
                $oPlano['podeDeletar'] = false;
            $oPlano['clie_count'] = count($objPlano);
            $arrPlano[$k] = $oPlano;
        }
        
        // Setar variáveis para a GUI
        $this->set('arrPlano', $arrPlano);
    }

    /**
     * Controller adicionar
     * @access public
     */
    public function adicionar()
    {
        $this->layout = "default.admin";
        $this->bCampoBusca = false;  
        if( !empty( $this->data ) )
        {
            $this->Plano->save( $this->data );
            $this->redirect('/plano');
        }
    }

    /**
     * Controller editar
     * @access public
     * @param integer $piPlanoId Número do ID do plano para edição
     */
    public function editar( $piPlanoId = null )
    {
        $this->layout = "default.admin";
        $this->bCampoBusca = false; 

        if( !empty( $this->data ) )
        {
 
            $this->Plano->id = $piPlanoId;
            $this->Plano->save( $this->data );
            $this->redirect('/plano');
        }

        $objPlano = (object) $this->Plano->first(array(
					'conditions' => array('plan_id' => $piPlanoId)
        ));
        // Setar variáveis para a GUI
        $this->set('objPlano', $objPlano);
    }

    /**
     * Controller excluir
     * @access public
     * @param integer $piPlanoId Número do ID do plano para exclusão
     */
    public function excluir( $piPlanoId = null )
    {
        $this->autoRender = false;
        if( $piPlanoId == null ) $this->redirect('/plano');
       
        $this->Plano->delete( $piPlanoId );
  
        $this->redirect('/plano');
    }
}

?>